前言 :
想必大家對yum這個指令應該不陌生吧。清清鬆鬆就把想要的東西安裝好了。但是真的了解yum的人應該就不多了。所以今天就來介紹一下yum吧。
一、yum介紹
YUM 是一個自動安裝工具,它可以幫助RPM系統安裝,移除,升級軟體套件(應用程式,函式庫等)。您不需要在一一檢查手冊查閱相依性需要的套件,它能夠自動檢測軟體安裝時的相依性。這使得我們在管理(升級,安裝,移除)相關群組時更加簡單便利。
您可以使用YUM擴充套件的界面來安裝簡單的功能。您也可以從其他Python程式來使用(大部份Linux的YUM使用python實作)
二、yum移除與安裝
1.查詢是否有安裝yum
[root@localhost ~]# rpm -qa | grep yum
#若有看到以下內容就比較有安裝
yum-metadata-parser-1.1.2-3.el5.centos
yum-3.2.22-33.el5.centos
yum-fastestmirror-1.1.16-14.el5.centos.1
yum-updatesd-0.9-2.el5
2.移除yum (移除的方式有兩種擇一即可)
2.1用yum的方式移除
[root@localhost ~]# yum remove yum*
2.2用rpm -e的方式移除
#先查看有那些yum檔案要移除的
[root@localhost ~]# rpm -qa | grep yum
yum-metadata-parser-1.1.2-3.el5.centos
yum-3.2.22-33.el5.centos
yum-fastestmirror-1.1.16-14.el5.centos.1
yum-updatesd-0.9-2.el5
#移除yum
[root@localhost ~]# rpm -e yum-metadata-parser-1.1.2-3.el5.centos
[root@localhost ~]# rpm -e yum-3.2.22-33.el5.centos
[root@localhost ~]# rpm -e yum-fastestmirror-1.1.16-14.el5.centos.1
[root@localhost ~]# rpm -e yum-updatesd-0.9-2.el5
三、安裝yum
1.安裝源
在安裝源的部份可以到以下的網址查看
請依自行的需要找到安裝源
i386 :
http://mirrors.sohu.com/centos/5/os/i386/CentOS/
http://mirror.centos.org/centos-5/5/os/i386/CentOS/
x86_64 :
http://mirrors.sohu.com/centos/5/os/x86_64/CentOS/
http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/
在yum的部份主要是使用到以下4個檔
yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
yum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm
yum-3.2.22-37.el5.centos.noarch.rpm
yum-updatesd-0.9-2.el5.noarch.rpm
2安裝yum
i386
[root@localhost ~]# rpm -ivh http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-3.2.22-37.el5.centos.noarch.rpm http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-updatesd-0.9-2.el5.noarch.rpm
[root@localhost ~]# rpm -qa |grep yum
yum-updatesd-0.9-2.el5
yum-metadata-parser-1.1.2-3.el5.centos
yum-fastestmirror-1.1.16-16.el5.centos
yum-3.2.22-37.el5.centos
x86_64
[root@localhost ~]# rpm -ivh http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/yum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/yum-3.2.22-37.el5.centos.noarch.rpm http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/yum-updatesd-0.9-2.el5.noarch.rpm
[root@localhost ~]# rpm -qa |grep yum
yum-updatesd-0.9-2.el5
yum-metadata-parser-1.1.2-3.el5.centos
yum-fastestmirror-1.1.16-16.el5.centos
yum-3.2.22-37.el5.centos
2.2更新所有已安裝的套件(依個人需求看是否更新)
[root@localhost ~]# yum -y update
四、yum指令說明
在使用yum時,會將下載的東西,存放在/var/cache/yum目錄下。
1.yum更新
yum check-update
#檢查能更新的套件有那些
yum update
#更新所有已安裝的套件,若在update後面接上套件名稱的話可針對該套件更新
如yum update httpd
yum upgrade
#功能看update差不多,差別在於yum upgrade會連同一些過舊即將洮汰的套件也一起更新,大多使用在版本升級。
1.1安裝移除套件
yum install
#安裝套件,install後面接要安裝的套件名稱,如yum install httpd。若要把所有相關的一起安裝的話可在最後加上「*」。如yum install httpd*
yum remove
#移除套件在這邊會考慮到相依性的問題,remove後可接要移除套件名稱,如yum remove httpd。若要把相關套件也一起移除的話可在最後加上「*」。如yum remove httpd*
yum clean
#清除安裝下載時的暫套件原始檔,大多是存放在/var/cache/yum,通常會下yum clean packages或是yum clean all,一次全刪除。
1.2清暫存
yum clean
#清除安裝下載時的暫套件原始檔,大多是存放在/var/cache/yum
yum clean packages
#用來清除暫存(/var/cache/yum)目錄下的套件
yum clean headers
#用來清除暫存(/var/cache/yum)目錄下的 headers
yum clean oldheaders
#用來清除暫存(/var/cache/yum)目錄下的 oldheaders
yum clearn all
#直接把所有的站存都一次清除。
1.3列清單
yum list
#列出所有的套件,若在list後面接套件名稱,則可單獨列出該套件。
yum list updates
#列出所有可以更新的套件
yum list installed
#列出所有已經安裝的套件
yum list extra
#列出所有已安裝但不在 yum Repository 內的套件
1.4列出套件的相關資訊
yum info
#列出所有套件的相關資訊,若在info後接上套件名稱,則可單讀該套件相關資訊。
如yum info httpd 或yum info httpd*,差別在於有加「*」則會把以httpd開頭的都列出來
yum info updates
#列出所有可以更新的套件資訊
yum info installed
#列出所有已安裝的套件資訊
yum info extras
#列出所有已安裝但不在 Yum Repository 內的套件資訊
1.5搜尋功能
yum search
#搜尋所有相關的套件,如yum search httpd,在從中找到所需要的套件。類似關鍵字的用途
五、升級不動kernel
如果想要用yum來升級套件,但又不想動到kernel的話。請參考下面做法
[root@localhost ~]# vim /etc/yum.conf
#在[main]當中加入下面字串
exclude=kernel kernel-source
雖然說yum的用法很多,但是一般常用的大概就是安裝、更新和移除。剩下的等有用到才查看就可以了。
六、yum FAQ
有關yum常見的問題可以參考官網的解答
http://yum.baseurl.org/wiki/Faq
yum upgrade 的解釋怪怪的,上面查到的資料是,upgrade 會將過舊的package 給removal (delete),也就是刪除的意思,如果新版本出現問題,這樣可能會造成一些風險。而update 則是會保留舊版套件已備不時之需。